package com.gpstracking.BE;

import java.util.HashSet;
import java.util.Set;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;

/**
 * Condicioninmovilidad entity. @author MyEclipse Persistence Tools
 */
@Entity
@Table(name = "condicioninmovilidad", catalog = "gpstracking")
public class Condicioninmovilidad implements java.io.Serializable {

	// Fields

	private Integer idCondicionInmovilidad;
	private Condicion condicion;
	private Integer tiempoInmovilidad;
	private String minimoMaximo;
	private Set<Condicionfechahora> condicionfechahoras = new HashSet<Condicionfechahora>(
			0);

	// Constructors

	/** default constructor */
	public Condicioninmovilidad() {
	}

	/** minimal constructor */
	public Condicioninmovilidad(Integer idCondicionInmovilidad,
			Condicion condicion, Integer tiempoInmovilidad, String minimoMaximo) {
		this.idCondicionInmovilidad = idCondicionInmovilidad;
		this.condicion = condicion;
		this.tiempoInmovilidad = tiempoInmovilidad;
		this.minimoMaximo = minimoMaximo;
	}

	/** full constructor */
	public Condicioninmovilidad(Integer idCondicionInmovilidad,
			Condicion condicion, Integer tiempoInmovilidad,
			String minimoMaximo, Set<Condicionfechahora> condicionfechahoras) {
		this.idCondicionInmovilidad = idCondicionInmovilidad;
		this.condicion = condicion;
		this.tiempoInmovilidad = tiempoInmovilidad;
		this.minimoMaximo = minimoMaximo;
		this.condicionfechahoras = condicionfechahoras;
	}

	// Property accessors
	@Id
	@Column(name = "IdCondicionInmovilidad", unique = true, nullable = false)
	public Integer getIdCondicionInmovilidad() {
		return this.idCondicionInmovilidad;
	}

	public void setIdCondicionInmovilidad(Integer idCondicionInmovilidad) {
		this.idCondicionInmovilidad = idCondicionInmovilidad;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "IdCondicion", nullable = false)
	public Condicion getCondicion() {
		return this.condicion;
	}

	public void setCondicion(Condicion condicion) {
		this.condicion = condicion;
	}

	@Column(name = "TiempoInmovilidad", nullable = false)
	public Integer getTiempoInmovilidad() {
		return this.tiempoInmovilidad;
	}

	public void setTiempoInmovilidad(Integer tiempoInmovilidad) {
		this.tiempoInmovilidad = tiempoInmovilidad;
	}

	@Column(name = "MinimoMaximo", nullable = false, length = 10)
	public String getMinimoMaximo() {
		return this.minimoMaximo;
	}

	public void setMinimoMaximo(String minimoMaximo) {
		this.minimoMaximo = minimoMaximo;
	}

	@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "condicioninmovilidad")
	public Set<Condicionfechahora> getCondicionfechahoras() {
		return this.condicionfechahoras;
	}

	public void setCondicionfechahoras(
			Set<Condicionfechahora> condicionfechahoras) {
		this.condicionfechahoras = condicionfechahoras;
	}

}